//*****************************************************************************
// JFab (http://code.google.com/p/jfab)
// Copyright (c) 2011 JFab.org
// Admin jfab@jeffreythompson.net
//
// See the file "LICENSE.txt" for information on usage and redistribution of
// this file, and for a DISCLAIMER OF ALL WARRANTIES.
//*****************************************************************************

package org.jfab.core.inflator;

/**
 * Defines methods required by an inflator injector.
 */
public interface InflatorInjector
{
    /**
     * @return a new code generator class inflator.
     */
    CGClassInflator injectCGClassInflator();

    /**
     * @return a new code generator enum inflator.
     */
    CGEnumInflator injectCGEnumInflator();

    /**
     * @return a new code generator interface inflator.
     */
    CGInterfaceInflator injectCGInterfaceInflator();

    /**
     * @return a new code generator specification inflator.
     */
    CGSpecInflator injectCGSpecInflator();

    /**
     * @return a new inflator group.
     */
    InflatorGroup injectInflatorGroup();
}
